package org.smr.ministore.entities;

import org.blade.entities.base.BizEntity;
import org.smr.ministore.entities.vo.Assign2OrgansVO;
import org.smr.ministore.entities.vo.OrganVO;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * Brand实体,对应表：t_brand
**/
public class Brand extends  Assign2Organ<BrandOrgan>{


	/**
	* 品牌名称
	**/
	@NotNull
	private String brandName;

	/**
	 * 设置品牌名称的值
	 * @param brandName
	**/
	public void  setBrandName(String brandName){
		this.brandName = brandName;
	}
	/**
	 * 获取品牌名称的值
	**/
	public  String getBrandName(){
		return this.brandName;
	}




	/**
	* 品牌代码
	**/
    @NotNull
    private String brandCode;

	/**
	 * 设置品牌代码的值
	 * @param brandCode
	**/
	public void  setBrandCode(String brandCode){
		this.brandCode = brandCode;
	}
	/**
	 * 获取品牌代码的值
	**/
	public  String getBrandCode(){
		return this.brandCode;
	}

	/**
	* 删除标识
	**/
	private boolean isDeleted;

	/**
	 * 设置删除标识的值
	 * @param isDeleted
	**/
	public void setIsDeleted(boolean isDeleted){
		this.isDeleted = isDeleted;
	}
	/**
	 * 获取删除标识的值
	**/
	public boolean getIsDeleted(){
		return this.isDeleted;
	}





	/**
	* 生成时间
	**/
	private java.util.Date createDate;

	/**
	 * 设置生成时间的值
	 * @param createDate
	**/
	public void  setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 * 获取生成时间的值
	**/
	public  java.util.Date getCreateDate(){
		return this.createDate;
	}




    /**
    * 生成时间 查询时间开始
    **/
    private java.util.Date createDateStart;

    /**
    * 生成时间 查询时间结束
    **/
    private java.util.Date createDateEnd;


    /**
    * 设置生成时间Start的值
    * @param createDateStart
    **/
    public void  setCreateDateStart(java.util.Date createDateStart){
    this.createDateStart = createDateStart;
    }
    /**
    * 获取生成时间Start的值
    **/
    public  java.util.Date getCreateDateStart(){
    return this.createDateStart;
    }

    /**
    * 设置生成时间End的值
    * @param createDateEnd
    **/
    public void  setCreateDateEnd(java.util.Date createDateEnd){
    this.createDateEnd = createDateStart;
    }
    /**
    * 获取生成时间End的值
    **/
    public  java.util.Date getCreateDateEnd(){
    return this.createDateEnd;
    }



	/**
	* 更新时间
	**/
	private java.util.Date updateDate;

	/**
	 * 设置更新时间的值
	 * @param updateDate
	**/
	public void  setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	/**
	 * 获取更新时间的值
	**/
	public  java.util.Date getUpdateDate(){
		return this.updateDate;
	}




    /**
    * 更新时间 查询时间开始
    **/
    private java.util.Date updateDateStart;

    /**
    * 更新时间 查询时间结束
    **/
    private java.util.Date updateDateEnd;


    /**
    * 设置更新时间Start的值
    * @param updateDateStart
    **/
    public void  setUpdateDateStart(java.util.Date updateDateStart){
    this.updateDateStart = updateDateStart;
    }
    /**
    * 获取更新时间Start的值
    **/
    public  java.util.Date getUpdateDateStart(){
    return this.updateDateStart;
    }

    /**
    * 设置更新时间End的值
    * @param updateDateEnd
    **/
    public void  setUpdateDateEnd(java.util.Date updateDateEnd){
    this.updateDateEnd = updateDateStart;
    }
    /**
    * 获取更新时间End的值
    **/
    public  java.util.Date getUpdateDateEnd(){
    return this.updateDateEnd;
    }




	/**
	* 备注
	**/
	private String remark;

	/**
	 * 设置备注的值
	 * @param remark
	**/
	public void  setRemark(String remark){
		this.remark = remark;
	}
	/**
	 * 获取备注的值
	**/
	public  String getRemark(){
		return this.remark;
	}


    private OrganVO assignee;

    public void setAssignee(OrganVO assignee) {
        this.assignee = assignee;
    }

    public OrganVO getAssignee() {
        return assignee;
    }

    @Override
    public void attachValue(BrandOrgan organ) {
        organ.setBrandId(this.getId());
    }

    @Override
    public BrandOrgan initReference() {
        return new BrandOrgan();
    }

    public BrandOrgan createReference() {
        BrandOrgan reference = initReference();
        reference.setOrganId(this.getAssignee().getOrganId());
        reference.setOrganPath(this.getAssignee().getOrganPath());
        reference.setBrandId(this.getId());
        reference.setBrandName(this.getBrandName());
        reference.setCreateBy(this.getCreateBy());
        reference.setBrandId(this.getId());
        return reference;
    }

	@Override
	public List<BrandOrgan> assignTo(Assign2OrgansVO assigneeOrgans) {
		return super.assignTo(assigneeOrgans);
	}
}